"""
三、要求写一段代码，实现两个字典的相加。相同key对应值的数据类型是一致的。(文件名:A3.PY)
1、不同的key，对应的值保留。
2、相同的key，对应的值：
a)如果是数，就相减。
b)如果是字符串，就拼接。

dicta = {"a":1,"b":2,"c":3,"d":4,"g":"hello"}
dictb = {"b":3,"d":5,"e":7,"f":"abc","g":"world"}
结果：
{'a':1, 'b':-1, 'c':3, 'd':-1, 'g':'helloworld', 'e':7, 'f':'abc'}
"""

# 测试数据
dicta = {"a":1,"b":2,"c":3,"d":4,"g":"hello"}
dictb = {"b":3,"d":5,"e":7,"f":"abc","g":"world"}
dict_ans = {}

# 处理数据
list_a_key = list(dicta.keys())
list_b_key = list(dictb.keys())

for a_k in list_a_key:
    if a_k in list_b_key: # 相同的key
        if  isinstance(dicta[a_k],str):
            dict_ans[a_k] = dicta[a_k]+dictb[a_k]   # 字符串拼接
        # elif isinstance(list_a_key[a_k],(int,float)):
        else: # 数字相减
            dict_ans[a_k] = dicta[a_k] - dictb[a_k]
    else: # 不同的key
        dict_ans[a_k] = dicta[a_k]
# 添加字典b特有的元素
for b_k in list_b_key:
    if b_k not in list_a_key:
        dict_ans[b_k] = dictb[b_k]

print("字典a和字典b相加的结果:",end="")
print(dict_ans)
